struct _IRP// Size=0x70
{
    short Type;// Offset=0x0 Size=0x2
    unsigned short Size;// Offset=0x2 Size=0x2
    struct _MDL * MdlAddress;// Offset=0x4 Size=0x4
    unsigned long Flags;// Offset=0x8 Size=0x4
    union _unnamed_89 AssociatedIrp;// Offset=0xc Size=0x4
    struct _LIST_ENTRY ThreadListEntry;// Offset=0x10 Size=0x8
    struct _IO_STATUS_BLOCK IoStatus;// Offset=0x18 Size=0x8
    char RequestorMode;// Offset=0x20 Size=0x1
    unsigned char PendingReturned;// Offset=0x21 Size=0x1
    char StackCount;// Offset=0x22 Size=0x1
    char CurrentLocation;// Offset=0x23 Size=0x1
    unsigned char Cancel;// Offset=0x24 Size=0x1
    unsigned char CancelIrql;// Offset=0x25 Size=0x1
    char ApcEnvironment;// Offset=0x26 Size=0x1
    unsigned char AllocationFlags;// Offset=0x27 Size=0x1
    struct _IO_STATUS_BLOCK * UserIosb;// Offset=0x28 Size=0x4
    struct _KEVENT * UserEvent;// Offset=0x2c Size=0x4
    union _unnamed_91 Overlay;// Offset=0x30 Size=0x8
    void  ( * CancelRoutine)(struct _DEVICE_OBJECT * ,struct _IRP * );// Offset=0x38 Size=0x4
    void * UserBuffer;// Offset=0x3c Size=0x4
    union _unnamed_93 Tail;// Offset=0x40 Size=0x30
};